Color-Blind Specifications for Transformations of Reactive Synchronous Programs
نویسندگان
چکیده
Execution environments are used as specifications for specialization of input-output programs in the derivation of product lines. These environments, formalized as color-blind I/O-alternating transition systems, are tolerant to mutations in a given program’s outputs. Execution environments enable new compiler optimizations, vastly exceeding usual reductions. We propose a notion of context-dependent refinement for I/O-alternating transition systems, which supports composition and hierarchical reuse. The framework is demonstrated by discussing adaptations to realistic design languages and by presenting an example of a product line.
منابع مشابه
Synthesizing Functional Reactive Programs
We present the first method to synthesize functional reactive programs from temporal logic specifications. Existing algorithms for the synthesis of reactive systems target finite-state implementations, such as hardware circuits, but fail when it comes to complex data transformations. Reactive programs instead provide a promising alternative to overcome this obstacle. They allow for abstraction ...
متن کاملLanguages for Reactive Specifications: Synchrony Vs Asynchrony
Asynchronous and Synchronous languages have been in use for the speciication of reactive systems. One of the main distinguishing features of these two classes lies in the way nondeterminism is used for the specii-cation of programs. From this viewpoint, we analyze CSP (a typical asynchronous language) and Esterel (a synchronous language). The synchronous language Esterel is based on the notions...
متن کاملSession-Based Concurrency, Reactively
This paper concerns formal models for the analysis of communication-centric software systems that feature declarative and reactive behaviors. We focus on session-based concurrency, the interaction model induced by session types, which uses (variants of) the π-calculus as specification languages. While well-established, such process models are not expressive enough to specify declarative and rea...
متن کاملSeveral Strategies of Reactive System Program Synthesis
Reactive systems, such as operating systems or elevator control systems, are systems that ideally never terminate and are intended to maintain some interaction with their environment. Temporal logic is one of the methods for formal specification descriptions of reactive systems. By describing the formal specifications of reactive systems we can check the consistency of the specifications and wh...
متن کاملFunctional reactive programming as a hybrid system framework
In previous work we presented Functional Reactive Programming (FRP), a general framework for designing hybrid systems and developing domain-specific languages for related domains. FRP’s synchronous dataflow features, like event driven switching, supported by higherorder lazy functional abstractions of Haskell allows rapid development of modular and reusable specifications. In this paper, we wil...
متن کامل